package br.com.werp.regras.geral.visao.taglib;

import br.com.werp.regras.geral.FabricaSubSistema;
import br.com.werp.regras.geral.GerenciadorErros;
import br.com.werp.regras.geral.Suporte;
import br.com.werp.regras.geral.vos.suporte.EmpresaVO;

import java.io.IOException;

import java.util.Iterator;
import java.util.List;

import javax.servlet.jsp.JspWriter;


/**
 *  Generated tag class.
 *  @deprecated - Subistituido pelo ajax
 */
public class FilialTag extends MasterTag {
    /* (non-Javadoc)
     * @see br.com.werp.regras.geral.visao.taglib.MasterTag#otherDoStartTagOperations()
     */
    public void otherDoStartTagOperations() {
        JspWriter out = pageContext.getOut();

        try {
            Suporte suporte = FabricaSubSistema.getSuporte();
            String empresaId =
                (String) pageContext.getSession().getAttribute("empresaId");
            List empresas = suporte.obterFiliais(empresaId);
            StringBuffer options = new StringBuffer();
            int selectSize = 10;

            for (Iterator iter = empresas.iterator(); iter.hasNext();) {
                EmpresaVO empresaVO = (EmpresaVO) iter.next();

                if (empresaVO.getEmpr_descricao().length() > selectSize) {
                    selectSize = empresaVO.getEmpr_descricao().length();
                }

                options.append("<option value=\"" + empresaVO.getEmpr_id() +
                    "\">");
                options.append(empresaVO.getEmpr_descricao());
                options.append("</option>");
            }

            out.println("<SELECT style=\"WIDTH: " + (selectSize * 9) +
                "px\" name=\"FilialCombo\" >");
            out.println(options.toString());
            out.println("</select>");
        } catch (Exception e) {
            GerenciadorErros.logarErro(e);

            try {
                out.println("<font color=red>Erro acessando filiais </font>");
            } catch (IOException e1) {
                GerenciadorErros.logarErro(e1);
            }
        }
    }
}
